/**
 * FireSpray - WooCommerce layout overrides
 *
 * These rules live on top of the main theme CSS (style.min_1.css) which is
 * shared with the homepage.  We only define layout rules that are specific to
 * shop / product pages and that the main theme doesn't already cover.
 *
 * All selectors are scoped to #content / #primary / .site-main so they don't
 * bleed out to the header or footer areas from the homepage shell.
 */

.woocommerce-breadcrumb {
    font-size: 13px;
    color: #747474;
    margin: 14px 0 18px;
    padding: 0;
}
.woocommerce-breadcrumb a { color: #dd3333; text-decoration: none; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }
.woocommerce-breadcrumb .breadcrumb-separator { margin: 0 6px; color: #bbb; }

#content .site-main { padding: 0; }

.fs-shop-layout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.fs-shop-sidebar {
    width: 220px;
    flex-shrink: 0;
}
.fs-widget { margin-bottom: 24px; }
.fs-widget__title,
.fs-widget .widget-title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 2px solid #dd3333;
    color: #212121;
}
.fs-cat-list { list-style: none; margin: 0; padding: 0; }
.fs-cat-list__item { margin-bottom: 6px; }
.fs-cat-list__item a {
    font-size: 13px;
    color: #444;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
}
.fs-cat-list__item a:hover,
.fs-cat-list__item--active a { color: #dd3333; }
.fs-cat-list__count { color: #999; }

.fs-shop-main { flex: 1; min-width: 0; }

.fs-cart-shop-layout {
    display: block;
}

.fs-shop-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ebebeb;
}
.woocommerce-result-count { font-size: 13px; color: #747474; margin: 0; }
.woocommerce-ordering select {
    font-size: 13px;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
}

.fs-shop-main ul.products,
.fs-cart-shop-main ul.products{
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.fs-shop-main ul.products li.product,
.fs-cart-shop-main ul.products li.product{
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    transition: box-shadow .2s, transform .2s;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
}
.fs-shop-main ul.products li.product:hover,
.fs-cart-shop-main ul.products li.product:hover{
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    transform: translateY(-2px);
}
.fs-shop-main ul.products li.product img,
.fs-cart-shop-main ul.products li.product img{
    width: 100%;
    height: 200px;
    object-fit: contain;
    background: #f7f7f7;
    display: block;
}
.fs-shop-main ul.products li.product .woocommerce-loop-product__title,
.fs-shop-main ul.products li.product h2.woocommerce-loop-product__title,
.fs-cart-shop-main ul.products li.product .woocommerce-loop-product__title,
.fs-cart-shop-main ul.products li.product h2.woocommerce-loop-product__title{
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    margin: 8px 12px 6px !important;
    line-height: 1.35 !important;
    min-height: 36px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.fs-shop-main ul.products li.product .price,
.fs-cart-shop-main ul.products li.product .price{
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #dd3333;
    margin: 0 12px 10px;
}
.fs-shop-main ul.products li.product .price del,
.fs-cart-shop-main ul.products li.product .price del{ color: #999; font-weight: 400; font-size: 12px; margin-right: 4px; }
.fs-shop-main ul.products li.product .onsale,
.fs-cart-shop-main ul.products li.product .onsale{
    position: absolute;
    top: 10px;
    left: 10px;
    background: #dd3333;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 3px;
    z-index: 2;
}
.fs-shop-main ul.products li.product .button,
.fs-shop-main ul.products li.product .add_to_cart_button,
.fs-cart-shop-main ul.products li.product .button,
.fs-cart-shop-main ul.products li.product .add_to_cart_button{
    display: block;
    margin: 0 12px 12px;
    padding: 9px 12px;
    background: #dd3333;
    color: #fff !important;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s;
}
.fs-shop-main ul.products li.product .button:hover { background: #c73228; }
.fs-cart-shop-main ul.products li.product .button:hover { background: #c73228; }

.woocommerce-pagination { margin-top: 30px; text-align: center; }
.woocommerce-pagination ul.page-numbers {
    list-style: none;
    display: inline-flex;
    gap: 4px;
    padding: 0;
    margin: 0;
}
.woocommerce-pagination ul.page-numbers li .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    color: #444;
    text-decoration: none;
    transition: all .2s;
}
.woocommerce-pagination ul.page-numbers li .page-numbers.current,
.woocommerce-pagination ul.page-numbers li .page-numbers:hover {
    background: #dd3333;
    border-color: #dd3333;
    color: #fff;
}

/* Two-column product layout */
#content .site-main div.product,
#content .site-main .woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 40px;
}
#content .site-main div.product .woocommerce-product-gallery {
    width: 100%;
    max-width: 480px;
    flex-shrink: 0;
}
#content .site-main div.product .summary.entry-summary {
    flex: 1;
    min-width: 280px;
}

body.single-product #content .site-main div.product,
body.single-product #content .site-main .woocommerce div.product {
    margin-bottom: 0;
}

/* Gallery */
.woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
    background: #f7f7f7;
    border: 1px solid #ebebeb;
    border-radius: 6px;
}
.flex-control-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    list-style: none;
}
.flex-control-thumbs li { width: 72px; cursor: pointer; }
.flex-control-thumbs li img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border: 2px solid #ebebeb;
    border-radius: 4px;
    background: #f7f7f7;
    transition: border-color .2s;
}
.flex-control-thumbs li img.flex-active,
.flex-control-thumbs li img:hover { border-color: #dd3333; }

/* Taxonomy archive SEO description blocks */
.page-header .fs-taxonomy-title-block {
    display: block;
    width: 100%;
    float: none;
    clear: both;
}

.page-header .fs-taxonomy-title-block .page-title {
    float: none !important;
    display: block;
    width: 100%;
    margin-bottom: 8px;
}

.fs-taxonomy-short-description {
    margin: 10px 0 22px;
    font-size: 15px;
    line-height: 1.6;
    color: #595a5a;
    max-width: 920px;
    display: block;
    width: 100%;
    clear: both;
    float: none !important;
}

.fs-taxonomy-short-description ul,
.fs-taxonomy-short-description ol {
    margin: 10px 0 14px;
    padding-left: 22px;
}

.fs-taxonomy-short-description ul {
    list-style: disc;
}

.fs-taxonomy-short-description ol {
    list-style: decimal;
}

.fs-taxonomy-short-description li {
    margin: 0 0 6px;
}

/* Prevent overlap between archive descriptions and result count on WooCommerce listing pages. */
.woocommerce-page .page-header::after {
    content: "";
    display: block;
    clear: both;
}

.page-header .woocommerce-result-count {
    float: none !important;
    clear: both;
    display: block;
    width: 100%;
    margin: 8px 0 14px !important;
}

.woocommerce-page.post-type-archive-product .page-header .woocommerce-result-count,
.woocommerce-page.tax-product_tag .page-header .woocommerce-result-count,
.woocommerce-page.tax-product_cat .page-header .woocommerce-result-count,
.fs-shop-page .page-header .woocommerce-result-count,
body.tax-product_tag .page-header .woocommerce-result-count,
body.tax-product_cat .page-header .woocommerce-result-count {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    text-align: right !important;
    margin-top: 10px !important;
    margin-bottom: 14px !important;
}

.page-header .term-description,
.page-header .woocommerce-products-header__description,
.page-header .fs-taxonomy-short-description {
    float: none !important;
    clear: both;
    width: 100%;
}

.shop-control-bar {
    clear: both;
}

/* Keep result count right-aligned across listing contexts. */
.woocommerce-page .shop-control-bar + .woocommerce-result-count,
.woocommerce-page .shop-control-bar-bottom .woocommerce-result-count,
.woocommerce-page .page-header .woocommerce-result-count {
    position: static !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    float: none !important;
    display: block;
    width: 100%;
    text-align: right;
    margin: 8px 0 14px !important;
}

.fs-shop-page .page-header .fs-taxonomy-short-description,
body.tax-product_tag .page-header .fs-taxonomy-short-description,
body.tax-product_cat .page-header .fs-taxonomy-short-description {
    margin-bottom: 0 !important;
}

.fs-taxonomy-full-description {
    margin: 28px 0 8px;
    padding-top: 18px;
    border-top: 1px solid #ebebeb;
    color: #595a5a;
    font-size: 14px;
    line-height: 1.75;
}

.fs-taxonomy-full-description p {
    margin: 0 0 12px;
}

.fs-taxonomy-full-description p:last-child {
    margin-bottom: 0;
}

/* Summary */
#content .summary.entry-summary h1.product_title {
    font-size: 22px;
    font-weight: 700;
    color: #212121;
    margin: 0 0 10px;
    line-height: 1.3;
}
#content .summary.entry-summary .product_short_name {
    font-size: 16px;
    font-weight: 500;
    color: #555;
    margin: 0 0 14px;
    line-height: 1.35;
}
#content .summary.entry-summary p.price,
#content .summary.entry-summary span.price {
    font-size: 26px;
    font-weight: 700;
    color: #dd3333;
    margin-bottom: 16px;
    display: block;
}
#content .summary.entry-summary p.price del,
#content .summary.entry-summary span.price del {
    font-size: 18px;
    color: #999;
    font-weight: 400;
    margin-right: 8px;
}
#content .summary .woocommerce-product-details__short-description {
    font-size: 14px;
    color: #595a5a;
    margin-bottom: 16px;
    line-height: 1.6;
}
#content .summary .stock { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
#content .summary .stock.in-stock  { color: #22ad5c; }
#content .summary .stock.out-of-stock { color: #dd3333; }

.fs-product-brand-logos {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 10px;
}

.fs-product-brand-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
}

.fs-product-brand-logo {
    max-height: 34px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
}

.fs-product-brand-logo-text {
    display: inline-block;
    padding: 4px 8px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.2;
    color: #222;
    background: #fff;
}

/* Quantity + add-to-cart row */
.woocommerce form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.woocommerce form.cart .woocommerce-variation-add-to-cart,
.woocommerce form.cart .variations_button {
    display: flex !important;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
    width: 100%;
}
.woocommerce form.cart a.reset_variations { display: none !important; }
.woocommerce form.cart .quantity { display: flex; align-items: center; }
.woocommerce form.cart .quantity input.qty {
    width: 56px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 8px;
}
.woocommerce form.cart .single_add_to_cart_button.button {
    padding: 12px 28px;
    background: #dd3333 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background .2s;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.woocommerce form.cart .single_add_to_cart_button.button:hover { background: #c73228 !important; }
/* Electro's style.min_1.css has .extended .single-product-wrapper .summary { width:33.33% }
   inside @media(min-width:1200px). Mirror the same selector but add .row for higher
   specificity so we win even when firespray-woocommerce.css loads first. */
.single-product-wrapper.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 32px;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.single-product-wrapper.row .product-images-wrapper {
    flex: 0 0 42% !important;
    width: 42% !important;
    max-width: 42% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.single-product-wrapper.row .summary.entry-summary.fs-single-product-summary {
    flex: 0 0 55% !important;
    width: 55% !important;
    max-width: 55% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Defeat Electro's @media(min-width:1200px) rule that hard-locks summary to 33.33% */
@media (min-width: 1200px) {
    .extended .single-product-wrapper.row .summary {
        flex: 0 0 55% !important;
        width: 55% !important;
        max-width: 55% !important;
    }
    .extended .single-product-wrapper.row .product-images-wrapper {
        flex: 0 0 42% !important;
        width: 42% !important;
        max-width: 42% !important;
    }
}

@media (max-width: 767px) {
    .single-product-wrapper.row {
        flex-wrap: wrap !important;
        gap: 20px;
    }
    .single-product-wrapper.row .product-images-wrapper {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .single-product-wrapper.row .summary.entry-summary.fs-single-product-summary {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Tabs */
.woocommerce-tabs { margin-top: 30px; clear: both; }
.woocommerce-tabs .tabs {
    display: flex;
    gap: 0;
    padding: 0;
    margin: 0 0 -1px;
    list-style: none;
    border-bottom: 2px solid #dd3333;
}
.woocommerce-tabs .tabs li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #595a5a;
    text-decoration: none;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    transition: all .2s;
}
.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li a:hover { background: #dd3333; color: #fff; border-color: #dd3333; }
.woocommerce-tabs .woocommerce-Tabs-panel {
    background: #fff;
    border: 1px solid #ebebeb;
    border-top: none;
    padding: 24px;
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

/* Product details page: highlight actual content links in theme red. */
.single-product #content .summary.entry-summary a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):not([class*="btn-"]),
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):not([class*="btn-"]) {
    color: #dd3333 !important;
}

/* Product meta links (Categories/Tags) use stronger base styles; force highlight here. */
.single-product #content .summary.entry-summary .product_meta .posted_in a[href],
.single-product #content .summary.entry-summary .product_meta .tagged_as a[href] {
    color: #dd3333 !important;
}

/* Some product templates render .product_meta inside #tab-description, not summary. */
.single-product #tab-description .product_meta .posted_in a[href],
.single-product #tab-description .product_meta .tagged_as a[href],
.single-product .product_meta .posted_in a[href],
.single-product .product_meta .tagged_as a[href] {
    color: #dd3333 !important;
}

.single-product #content .summary.entry-summary a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):not([class*="btn-"]):hover,
.single-product #content .summary.entry-summary a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):not([class*="btn-"]):focus,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):not([class*="btn-"]):hover,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):not([class*="btn-"]):focus {
    color: #dd3333 !important;
}

.single-product #content .summary.entry-summary .product_meta .posted_in a[href]:hover,
.single-product #content .summary.entry-summary .product_meta .posted_in a[href]:focus,
.single-product #content .summary.entry-summary .product_meta .tagged_as a[href]:hover,
.single-product #content .summary.entry-summary .product_meta .tagged_as a[href]:focus {
    color: #dd3333 !important;
}

.single-product #tab-description .product_meta .posted_in a[href]:hover,
.single-product #tab-description .product_meta .posted_in a[href]:focus,
.single-product #tab-description .product_meta .tagged_as a[href]:hover,
.single-product #tab-description .product_meta .tagged_as a[href]:focus,
.single-product .product_meta .posted_in a[href]:hover,
.single-product .product_meta .posted_in a[href]:focus,
.single-product .product_meta .tagged_as a[href]:hover,
.single-product .product_meta .tagged_as a[href]:focus {
    color: #dd3333 !important;
}

/* Description blocks: product description and taxonomy/tag/category descriptions. */
.single-product #tab-description .electro-description a[href],
.single-product #tab-description .woocommerce-product-details__short-description a[href],
.single-product #content .woocommerce-product-details__short-description a[href],
.woocommerce-products-header__description a[href],
.term-description a[href],
.fs-taxonomy-short-description a[href],
.fs-taxonomy-full-description a[href],
.fs-shop-full-description a[href],
.firespray-shop-seo-intro a[href] {
    color: #dd3333 !important;
}

.single-product #tab-description .electro-description a[href]:hover,
.single-product #tab-description .electro-description a[href]:focus,
.single-product #tab-description .woocommerce-product-details__short-description a[href]:hover,
.single-product #tab-description .woocommerce-product-details__short-description a[href]:focus,
.single-product #content .woocommerce-product-details__short-description a[href]:hover,
.single-product #content .woocommerce-product-details__short-description a[href]:focus,
.woocommerce-products-header__description a[href]:hover,
.woocommerce-products-header__description a[href]:focus,
.term-description a[href]:hover,
.term-description a[href]:focus,
.fs-taxonomy-short-description a[href]:hover,
.fs-taxonomy-short-description a[href]:focus,
.fs-taxonomy-full-description a[href]:hover,
.fs-taxonomy-full-description a[href]:focus,
.fs-shop-full-description a[href]:hover,
.fs-shop-full-description a[href]:focus,
.firespray-shop-seo-intro a[href]:hover,
.firespray-shop-seo-intro a[href]:focus {
    color: #dd3333 !important;
}

/* Homepage long-form SEO/content block links should match archive/tag red links. */
.firespray-home-extra-content a[href],
.home .entry-content a[href],
.home .site-main a[href] {
    color: #dd3333 !important;
}

.firespray-home-extra-content a[href]:hover,
.firespray-home-extra-content a[href]:focus,
.home .entry-content a[href]:hover,
.home .entry-content a[href]:focus,
.home .site-main a[href]:hover,
.home .site-main a[href]:focus {
    color: #dd3333 !important;
}

/* Related / upsells */
.related.products,
.up-sells.products {
    margin-top: 40px;
    padding-top: 30px;
    border-top: 1px solid #ebebeb;
    clear: both;
}
.related.products > h2,
.up-sells.products > h2 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #212121;
    text-transform: uppercase;
}
.related.products ul.products,
.up-sells.products ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
}

/* Single product: keep Related and Brands spacing consistent and clean. */
.single-product #content.site-content,
.single-product #content.site-content .site-content-inner,
.single-product #content.site-content .site-main {
    margin-bottom: 0;
    padding-bottom: 0;
    background: #fff;
}

.single-product section.related.products,
.single-product section.related.products > .container {
    background: #fff;
}

.single-product section.related.products {
    margin-top: 0;
    padding-top: 0;
    margin-bottom: 24px;
    padding-bottom: 0;
    border-top: 0;
}

.single-product section.related.products > h2 {
    margin-top: 0;
    margin-bottom: 16px;
}

.single-product section.related.products ul.products {
    margin-bottom: 0;
}

.single-product section.related.products + section.brands-carousel {
    margin-top: 24px;
    padding-top: 0;
}

.single-product section.related.products + section.brands-carousel,
.single-product section.related.products + section.brands-carousel > .container {
    background: #fff;
}

/* Cart / Checkout / Account basic clean-up */
.woocommerce-cart    .entry-content,
.woocommerce-checkout .entry-content { padding: 0; margin: 0; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce table.shop_table th { background: #f7f7f7; padding: 10px 14px; font-weight: 700; }
.woocommerce table.shop_table td { padding: 10px 14px; border-bottom: 1px solid #ebebeb; vertical-align: middle; }
.woocommerce .woocommerce-Button,
.woocommerce .button,
.woocommerce button.button { background: #dd3333; color: #fff; border: none; border-radius: 4px; padding: 10px 22px; font-weight: 600; cursor: pointer; transition: background .2s; }
.woocommerce .button:hover { background: #c73228; color: #fff; }

/* Responsive */
@media (max-width: 1024px) {
    .fs-shop-main ul.products { grid-template-columns: repeat(3, 1fr) !important; }
    .fs-cart-shop-main ul.products { grid-template-columns: repeat(3, 1fr) !important; }
    .related.products ul.products,
    .up-sells.products ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
    .fs-shop-layout { flex-direction: column; }
    .fs-shop-sidebar { width: 100%; }
    .fs-shop-main ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .fs-cart-shop-main ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    #content .site-main div.product { flex-direction: column; }
    #content .site-main div.product .woocommerce-product-gallery { max-width: 100%; }
    .related.products ul.products,
    .up-sells.products ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
    .fs-shop-main ul.products { grid-template-columns: 1fr !important; }
    .fs-cart-shop-main ul.products { grid-template-columns: 1fr !important; }
}

/* ============================================================
   CART PAGE — scoped to .fs-wc-cart-inner for max specificity
   All rules use !important to beat Electro style.min_1.css
   ============================================================ */

/* Table structure */
.fs-wc-cart-inner table.shop_table { width:100%!important;border-collapse:collapse!important;border:0!important;margin:0!important;font-size:14px!important;background:#fff!important; }
.fs-wc-cart-inner table.shop_table thead th { background:#f7f7f7!important;color:#212121!important;font-size:11px!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important;padding:12px 14px!important;border-bottom:2px solid #ebebeb!important; }
.fs-wc-cart-inner table.shop_table tbody td { padding:14px 14px!important;border-bottom:1px solid #ebebeb!important;vertical-align:middle!important;background:#fff!important; }
.fs-wc-cart-inner table.shop_table tbody tr:last-child td { border-bottom:0!important; }

/* Remove column */
.fs-wc-cart-inner table.shop_table td.product-remove { width:32px!important;padding:14px 6px 14px 14px!important;text-align:center!important; }
.fs-wc-cart-inner td.product-remove a.remove { display:inline-flex!important;align-items:center!important;justify-content:center!important;width:26px!important;height:26px!important;border-radius:50%!important;background:transparent!important;color:#bbb!important;font-size:20px!important;line-height:1!important;text-decoration:none!important;transition:background .15s,color .15s!important; }
.fs-wc-cart-inner td.product-remove a.remove:hover { background:#dd3333!important;color:#fff!important; }

/* Thumbnail column */
.fs-wc-cart-inner table.shop_table td.product-thumbnail { width:80px!important;padding:14px 14px 14px 6px!important; }
.fs-wc-cart-inner td.product-thumbnail img { display:block!important;width:64px!important;height:64px!important;object-fit:contain!important;border:1px solid #ebebeb!important;border-radius:6px!important;background:#fff!important; }

/* Product name */
.fs-wc-cart-inner td.product-name a { font-weight:600!important;color:#212121!important;text-decoration:none!important; }
.fs-wc-cart-inner td.product-name a:hover { color:#dd3333!important; }

/* Price / subtotal */
.fs-wc-cart-inner td.product-price,
.fs-wc-cart-inner td.product-subtotal { font-weight:600!important;color:#212121!important;white-space:nowrap!important; }

/* Quantity */
.fs-wc-cart-inner .quantity input.qty { width:60px!important;height:40px!important;padding:0 8px!important;text-align:center!important;font-size:14px!important;border:1px solid #ddd!important;border-radius:4px!important;background:#fff!important; }

/* Actions row */
.fs-wc-cart-inner .actions { display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;padding:14px 16px!important;background:#f7f7f7!important;border-top:1px solid #ebebeb!important; }
.fs-wc-cart-inner .actions .coupon { display:flex!important;align-items:stretch!important;flex-wrap:nowrap!important; }
.fs-wc-cart-inner .actions .coupon input#coupon_code { height:42px!important;width:160px!important;padding:0 12px!important;font-size:14px!important;border:1px solid #ddd!important;border-right:0!important;border-radius:4px 0 0 4px!important;background:#fff!important;outline:none!important; }
.fs-wc-cart-inner .actions .coupon button[name="apply_coupon"] { height:42px!important;padding:0 16px!important;border:0!important;border-radius:0 4px 4px 0!important;background:#212121!important;color:#fff!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;white-space:nowrap!important;transition:background .2s!important; }
.fs-wc-cart-inner .actions .coupon button[name="apply_coupon"]:hover { background:#444!important; }

/* Update Cart — right side, always visible */
.fs-wc-cart-inner .actions button[name="update_cart"] { display:inline-flex!important;align-items:center!important;height:42px!important;padding:0 18px!important;margin-left:auto!important;border:1px solid #ddd!important;border-radius:4px!important;background:#fff!important;color:#212121!important;font-size:13px!important;font-weight:600!important;cursor:pointer!important;white-space:nowrap!important;transition:background .2s,border-color .2s!important; }
.fs-wc-cart-inner .actions button[name="update_cart"]:not([disabled]):hover { background:#dd3333!important;border-color:#dd3333!important;color:#fff!important; }
.fs-wc-cart-inner .actions button[name="update_cart"][disabled] { opacity:.45!important;cursor:not-allowed!important; }

/* Cart totals panel */
.fs-wc-cart-inner .cart-collaterals { margin-top:20px!important;border:1px solid #ebebeb!important;border-radius:8px!important;background:#fff!important;overflow:hidden!important; }
.fs-wc-cart-inner .cart_totals { width:100%!important;float:none!important;padding:20px!important; }
.fs-wc-cart-inner .cart_totals h2 { font-size:16px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#212121!important;margin:0 0 16px!important;padding-bottom:12px!important;border-bottom:2px solid #dd3333!important; }

/* Totals table */
.fs-wc-cart-inner .cart_totals table.shop_table { width:100%!important;border-collapse:collapse!important;border:0!important;margin-bottom:20px!important; }
.fs-wc-cart-inner .cart_totals table.shop_table th { background:transparent!important;font-size:13px!important;font-weight:600!important;color:#747474!important;padding:10px 0!important;text-align:left!important;border:0!important;border-bottom:1px solid #ebebeb!important;width:40%!important; }
.fs-wc-cart-inner .cart_totals table.shop_table td { background:transparent!important;font-size:14px!important;font-weight:600!important;color:#212121!important;padding:10px 0!important;text-align:right!important;border:0!important;border-bottom:1px solid #ebebeb!important; }
.fs-wc-cart-inner .cart_totals .order-total th,
.fs-wc-cart-inner .cart_totals .order-total td { font-size:16px!important;font-weight:700!important;color:#212121!important;border-bottom:0!important;padding-top:14px!important; }
.fs-wc-cart-inner .cart_totals .order-total td .woocommerce-Price-amount { color:#dd3333!important;font-size:18px!important; }
.fs-wc-cart-inner .cart_totals .shipping td { text-align:right!important;font-weight:400!important; }
.fs-wc-cart-inner .cart_totals .shipping-calculator-button { color:#dd3333!important;font-size:13px!important;text-decoration:none!important; }

/* Proceed to Checkout */
.fs-wc-cart-inner .wc-proceed-to-checkout { padding:0!important;margin:0!important; }
.fs-wc-cart-inner .wc-proceed-to-checkout a.checkout-button { display:block!important;width:100%!important;text-align:center!important;padding:14px 20px!important;background:#dd3333!important;color:#fff!important;font-size:15px!important;font-weight:700!important;letter-spacing:.03em!important;text-decoration:none!important;border-radius:6px!important;border:0!important;cursor:pointer!important;transition:background .2s!important;box-sizing:border-box!important; }
.fs-wc-cart-inner .wc-proceed-to-checkout a.checkout-button:hover { background:#c73228!important;color:#fff!important; }

/* Notices */
.fs-wc-cart-inner .woocommerce-notices-wrapper { margin-bottom:14px!important; }
.fs-wc-cart-inner .woocommerce-message,
.fs-wc-cart-inner .woocommerce-info,
.fs-wc-cart-inner .woocommerce-error { border-radius:4px!important;border:1px solid #ebebeb!important;background:#f7f7f7!important;color:#444!important;padding:12px 16px!important;margin-bottom:12px!important; }

/* Empty cart */
.fs-wc-cart-inner .cart-empty { font-size:15px!important;color:#747474!important;padding:30px 0!important;text-align:center!important; }
.fs-wc-cart-inner .return-to-shop a.button { display:inline-block!important;padding:12px 28px!important;background:#dd3333!important;color:#fff!important;border-radius:4px!important;font-weight:700!important;text-decoration:none!important; }

/* Mobile */
@media (max-width:767px) {
    .fs-wc-cart-inner .actions { flex-direction:column!important;align-items:stretch!important; }
    .fs-wc-cart-inner .actions button[name="update_cart"] { margin-left:0!important;width:100%!important;justify-content:center!important; }
    .fs-wc-cart-inner .actions .coupon { width:100%!important; }
    .fs-wc-cart-inner .actions .coupon input#coupon_code { flex:1!important;width:auto!important; }
    .fs-wc-cart-inner .cart_totals { padding:16px!important; }
}

   /* RECOMMENDED PRODUCTS CAROUSEL */
.fs-recommended-section {
    background: #fff;
    padding: 32px 0 24px;
    border-bottom: 1px solid #ebebeb;
    margin-bottom: 24px;
}
.fs-recommended-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.fs-recommended-title {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 3px solid #dd3333;
}
.fs-recommended-nav {
    display: flex;
    gap: 8px;
}
.fs-rec-prev,
.fs-rec-next {
    width: 32px;
    height: 32px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 50%;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #595a5a;
    transition: all .2s;
    padding: 0;
    line-height: 1;
}
.fs-rec-prev:hover,
.fs-rec-next:hover {
    background: #dd3333;
    border-color: #dd3333;
    color: #fff;
}

/* Carousel viewport */
.fs-recommended-carousel {
    overflow: hidden;
    position: relative;
}
.fs-recommended-track {
    display: flex;
    gap: 20px;
    transition: transform .4s ease;
}
.fs-rec-card {
    flex: 0 0 calc(25% - 15px);
    min-width: 0;
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 6px;
    overflow: hidden;
    padding: 14px;
    box-sizing: border-box;
    transition: box-shadow .2s;
}
.fs-rec-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.fs-rec-card__cats {
    font-size: 11px;
    color: #878787;
    margin: 0 0 4px;
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.fs-rec-card__cats a { color: #878787; text-decoration: none; }
.fs-rec-card__cats a:hover { color: #dd3333; }
.fs-rec-card__title {
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 10px;
    line-height: 1.35;
    min-height: 36px;
}
.fs-rec-card__title a {
    color: #1a1a2e;
    text-decoration: none;
}
.fs-rec-card__title a:hover { color: #dd3333; }
.fs-rec-card__img-wrap {
    display: block;
    margin-bottom: 10px;
}
.fs-rec-card__img-wrap img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    background: #f7f7f7;
    border-radius: 4px;
    display: block;
}
.fs-rec-card__price {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}
.fs-rec-card__price .woocommerce-Price-amount { color: #1a1a2e; }
.fs-rec-card__price ins { text-decoration: none; color: #dd3333; }
.fs-rec-card__price del { color: #999; font-size: 12px; font-weight: 400; margin-right: 4px; }

/* Dots */
.fs-rec-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
}
.fs-rec-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ddd;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .2s;
}
.fs-rec-dot.active { background: #dd3333; }

.fs-shop-full {
    width: 100%;
}
.fs-shop-full ul.products {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 16px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.fs-shop-full ul.products li.product {
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 6px;
    overflow: hidden;
    position: relative;
    transition: box-shadow .2s, transform .2s;
    margin: 0 !important;
    float: none !important;
    width: auto !important;
}
.fs-shop-full ul.products li.product:hover {
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    transform: translateY(-2px);
}
.fs-shop-full ul.products li.product img {
    width: 100%;
    height: 180px;
    object-fit: contain;
    background: #f7f7f7;
    display: block;
}
.fs-shop-full ul.products li.product .woocommerce-loop-product__title,
.fs-shop-full ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    margin: 8px 10px 6px !important;
    line-height: 1.35 !important;
    min-height: 34px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.fs-shop-full ul.products li.product .price {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #dd3333;
    margin: 0 10px 8px;
}
.fs-shop-full ul.products li.product .price del { color: #999; font-weight: 400; font-size: 11px; margin-right: 3px; }
.fs-shop-full ul.products li.product .onsale {
    position: absolute;
    top: 8px;
    left: 8px;
    background: #dd3333;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 3px;
    z-index: 2;
}
.fs-shop-full ul.products li.product .button,
.fs-shop-full ul.products li.product .add_to_cart_button {
    display: block;
    margin: 0 10px 10px;
    padding: 8px 10px;
    background: #dd3333;
    color: #fff !important;
    border: none;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    text-decoration: none;
    transition: background .2s;
}
.fs-shop-full ul.products li.product .button:hover { background: #c73228; }

.fs-shop-full .woocommerce-loop-category__title,
.fs-shop-full ul.products li.product-category h2 {
    font-size: 13px !important;
}

/* Responsive */
@media (max-width: 1024px) {
    .fs-shop-full ul.products { grid-template-columns: repeat(4, 1fr) !important; }
    .fs-rec-card { flex: 0 0 calc(33.333% - 14px); }
}
@media (max-width: 768px) {
    .fs-shop-full ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .fs-rec-card { flex: 0 0 calc(50% - 10px); }
}
@media (max-width: 480px) {
    .fs-shop-full ul.products { grid-template-columns: repeat(2, 1fr) !important; }
    .fs-rec-card { flex: 0 0 calc(100% - 0px); }
}

   /* FIRESPRAY SINGLE PRODUCT PAGE */

/* FireSpray product-page breadcrumb bar */
.fs-firespray-page { padding-top: 0; }
.fs-firespray-top { display: none !important; }

.eph-breadcrumb-bar {
    background: #fff;
    border-bottom: 1px solid #ebebeb;
    padding: 10px 0;
}
.eph-breadcrumb-bar .woocommerce-breadcrumb {
    margin: 0;
    font-size: 13px;
}

/* Product card outer */
.fs-firespray-content { padding-bottom: 40px; }
.fs-firespray-product-card {
    background: #fff;
    border: 1px solid #d9edf7;
    border-radius: 14px;
    padding: 28px 22px;
    margin: 22px 0;
}

/* WooCommerce product detail layout inside the card */
.fs-firespray-page .woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: flex-start;
}
.fs-firespray-page .woocommerce div.product .woocommerce-product-gallery {
    width: 100%;
    max-width: 480px;
    flex-shrink: 0;
}
.fs-firespray-page .woocommerce div.product .summary.entry-summary {
    flex: 1;
    min-width: 280px;
}

/* Gallery */
.fs-firespray-page .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
    background: #f7f7f7;
    border: 1px solid #ebebeb;
    border-radius: 6px;
}
.fs-firespray-page .flex-control-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    list-style: none;
}
.fs-firespray-page .flex-control-thumbs li { width: 72px; cursor: pointer; }
.fs-firespray-page .flex-control-thumbs li img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border: 2px solid #ebebeb;
    border-radius: 4px;
    background: #f7f7f7;
    transition: border-color .2s;
}
.fs-firespray-page .flex-control-thumbs li img.flex-active,
.fs-firespray-page .flex-control-thumbs li img:hover { border-color: #1e57ff; }

/* Product summary */
.fs-firespray-page .summary.entry-summary h1.product_title {
    font-size: 22px;
    font-weight: 700;
    color: #13203c;
    margin: 0 0 10px;
    line-height: 1.3;
}
.fs-firespray-page .summary.entry-summary .price,
.fs-firespray-page .summary.entry-summary span.price {
    font-size: 26px;
    font-weight: 700;
    color: #dd3333;
    margin-bottom: 16px;
    display: block;
}
.fs-firespray-page .summary.entry-summary .price del {
    font-size: 18px;
    color: #999;
    font-weight: 400;
    margin-right: 8px;
}
.fs-firespray-page .summary .woocommerce-product-details__short-description {
    font-size: 14px;
    color: #595a5a;
    margin-bottom: 16px;
    line-height: 1.6;
}
.fs-firespray-page .summary .stock { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.fs-firespray-page .summary .stock.in-stock { color: #22ad5c; }
.fs-firespray-page .summary .stock.out-of-stock { color: #dd3333; }
.fs-firespray-page .woocommerce form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.fs-firespray-page .woocommerce form.cart .quantity { display: flex; align-items: center; }
.fs-firespray-page .woocommerce form.cart .quantity input.qty {
    width: 56px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 8px;
}
.fs-firespray-page .woocommerce form.cart .single_add_to_cart_button.button {
    padding: 12px 28px;
    background: #1e57ff !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background .2s;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.fs-firespray-page .woocommerce form.cart .single_add_to_cart_button.button:hover { background: #1344cc !important; }

/* Tabs */
.fs-firespray-page .woocommerce-tabs { margin-top: 30px; clear: both; }
.fs-firespray-page .woocommerce-tabs .tabs {
    display: flex;
    gap: 0;
    padding: 0;
    margin: 0 0 -1px;
    list-style: none;
    border-bottom: 2px solid #1e57ff;
}
.fs-firespray-page .woocommerce-tabs .tabs li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #595a5a;
    text-decoration: none;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    transition: all .2s;
}
.fs-firespray-page .woocommerce-tabs .tabs li.active a,
.fs-firespray-page .woocommerce-tabs .tabs li a:hover {
    background: #1e57ff;
    color: #fff;
    border-color: #1e57ff;
}
.fs-firespray-page .woocommerce-tabs .woocommerce-Tabs-panel {
    border: 1px solid #d9edf7;
    border-radius: 0 10px 10px 10px;
    background: #fff;
    padding: 24px;
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

/* Related/upsells */
.fs-firespray-page .related.products,
.fs-firespray-page .up-sells.products {
    border-top: 1px solid #e5ecf7;
    margin-top: 24px;
    padding-top: 24px;
}
.fs-firespray-page .related.products > h2,
.fs-firespray-page .up-sells.products > h2 {
    text-transform: none;
    font-size: 22px;
    letter-spacing: 0;
}

/* Store highlights footer strip */
.fs-firespray-bottom {
    margin: 14px 22px 10px;
    border: 1px solid #d9edf7;
    border-radius: 12px;
    background: linear-gradient(135deg, #13203c 0%, #1c315f 100%);
    padding: 18px;
}
.fs-firespray-bottom__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.fs-firespray-feature {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    padding: 14px;
}
.fs-firespray-feature h3 {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
}
.fs-firespray-feature p {
    font-size: 12px;
    color: rgba(255,255,255,.7);
    margin: 0;
    line-height: 1.5;
}

/* Responsive single product */
@media (max-width: 768px) {
    .fs-firespray-page .woocommerce div.product { flex-direction: column; }
    .fs-firespray-page .woocommerce div.product .woocommerce-product-gallery { max-width: 100%; }
    .fs-firespray-bottom__items { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .fs-firespray-product-card,
    .fs-firespray-bottom { margin-left: 12px; margin-right: 12px; padding-left: 12px; padding-right: 12px; }
}

/* Blog context in shared footer: make blog links red on blog pages. */
body.fs-blog-context #menu-footer-blog-menu .menu-item > a,
body.fs-blog-context #menu-mobile-footer-menu-5 .menu-item > a,
body.fs-blog-context .menu-mobile-footer-menu-4-container .menu-item.current-menu-item > a {
    color: #dd3333 !important;
}

/* Blog archive post title links and single-post content links — mirrors .home/.single-product pattern. */
body.fs-blog-context .fs-archive-list a[href],
body.fs-blog-context .entry-content a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]) {
    color: #dd3333 !important;
}
body.fs-blog-context .fs-archive-list a[href]:hover,
body.fs-blog-context .fs-archive-list a[href]:focus,
body.fs-blog-context .entry-content a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):hover,
body.fs-blog-context .entry-content a[href]:not(.button):not(.btn):not([role="button"]):not([class*="button"]):focus {
    color: #dd3333 !important;
}

/* Primary nav divider: keep visible white separators between top-level links. */
.electro-navbar-primary #menu-navbar-primary > .menu-item + .menu-item > a,
.electro-navbar-primary .nav > .menu-item + .menu-item > a {
    border-left: 1px solid rgba(255, 255, 255, 0.6) !important;
}

/* Unified heading system: shop, category/tag archives, and product details pages. */
body.post-type-archive-product .page-header .page-title,
body.tax-product_cat .page-header .page-title,
body.tax-product_tag .page-header .page-title,
.fs-shop-page .page-header .page-title,
.single-product #content .summary.entry-summary h1.product_title,
.single-product #tab-description .electro-description h1,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel h1,
.term-description h1,
.woocommerce-products-header__description h1,
.fs-taxonomy-short-description h1,
.fs-taxonomy-full-description h1 {
    font-size: 24px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #212121 !important;
    margin: 0 0 12px !important;
}

body.post-type-archive-product .entry-content h2,
body.tax-product_cat .entry-content h2,
body.tax-product_tag .entry-content h2,
.single-product #tab-description .electro-description h2,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel h2,
.term-description h2,
.woocommerce-products-header__description h2,
.fs-taxonomy-short-description h2,
.fs-taxonomy-full-description h2 {
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #212121 !important;
    margin: 0 0 12px !important;
}

body.post-type-archive-product .entry-content h3,
body.tax-product_cat .entry-content h3,
body.tax-product_tag .entry-content h3,
.single-product #tab-description .electro-description h3,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel h3,
.term-description h3,
.woocommerce-products-header__description h3,
.fs-taxonomy-short-description h3,
.fs-taxonomy-full-description h3 {
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    color: #212121 !important;
    margin: 0 0 12px !important;
}

/* Add vertical rhythm between content blocks without creating top-page heading gaps. */
body.post-type-archive-product .entry-content * + h2,
body.tax-product_cat .entry-content * + h2,
body.tax-product_tag .entry-content * + h2,
.single-product #tab-description .electro-description * + h2,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel * + h2,
.term-description * + h2,
.woocommerce-products-header__description * + h2,
.fs-taxonomy-short-description * + h2,
.fs-taxonomy-full-description * + h2,
body.post-type-archive-product .entry-content * + h3,
body.tax-product_cat .entry-content * + h3,
body.tax-product_tag .entry-content * + h3,
.single-product #tab-description .electro-description * + h3,
.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel * + h3,
.term-description * + h3,
.woocommerce-products-header__description * + h3,
.fs-taxonomy-short-description * + h3,
.fs-taxonomy-full-description * + h3 {
    margin-top: 16px !important;
}

/* 404 page */
.error404 .fs-404-card {
    border: 1px solid #e5ecf7;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff 0%, #fff 100%);
    box-shadow: 0 18px 42px rgba(27, 52, 89, 0.09);
}

.error404 .fs-404-subtitle {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    color: #5a667a;
    font-size: 15px;
    line-height: 1.7;
}

.error404 .fs-404-actions .button {
    min-width: 140px;
}

.error404 .fs-404-search form.search-form {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.error404 .fs-404-search .search-field {
    width: min(520px, 100%);
    min-height: 44px;
    border: 1px solid #d5dfed;
    border-radius: 10px;
    padding: 10px 14px;
}

.error404 .fs-404-search .search-submit {
    min-height: 44px;
    border-radius: 10px;
    padding: 10px 16px;
}

.error404 .fs-404-suggestions-title {
    color: #333e48;
    font-weight: 600;
}

.error404 .fs-404-suggestions-list .button.alt {
    border-radius: 999px;
    padding-left: 14px;
    padding-right: 14px;
}

/*
 * CONFLICT EXPLANATION:
 * style.min_1.css (Electro) uses body.left-sidebar to position
 * #sidebar.sidebar on the left. Bootstrap .row on .site-content-inner
 * adds negative margin gutters that break that layout.
 * Fix: override .row gutter on shop pages only.
 */

body.left-sidebar .site-content-inner.row {
    display: flex !important;
    flex-wrap: nowrap !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 30px;
    align-items: flex-start;
}

body.left-sidebar #sidebar.sidebar {
    order: 1;
    flex: 0 0 270px;
    width: 270px;
    padding-left: 0;
    padding-right: 0;
    background: #fff;
}

body.left-sidebar #primary.content-area {
    order: 2;
    flex: 1;
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
}

.fs-shop-page .shop-control-bar,
.fs-shop-page .shop-control-bar-bottom {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #ebebeb;
    background: #fff;
    border-radius: 5px;
    min-height: 54px;
    padding: 8px 14px;
    margin-bottom: 16px;
}

.fs-shop-page .shop-control-bar-bottom {
    justify-content: center;
    margin-top: 16px;
    margin-bottom: 4px;
}

.fs-shop-page .shop-view-switcher {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    gap: 4px;
}

.fs-shop-page .shop-view-switcher .nav-link {
    width: 34px;
    height: 34px;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #747474;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fs-shop-page .shop-view-switcher .nav-link.active,
.fs-shop-page .shop-view-switcher .nav-link:hover {
    color: #fff;
    background: #dd3333;
    border-color: #dd3333;
}

.fs-shop-page .woocommerce-ordering {
    margin-left: auto;
}

.fs-shop-page .woocommerce-ordering select {
    min-width: 180px;
    height: 36px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    font-size: 13px;
    padding: 0 10px;
}

/* Mobile: hide sidebar-toggle on desktop */
.fs-shop-page .handheld-sidebar-toggle { display: none; }

.fs-shop-page ul.products {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 0;
    border-top: 1px solid #ebebeb;
    border-left: 1px solid #ebebeb;
}

.fs-shop-page ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    border-right: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
    padding: 14px;
    background: #fff;
}

.fs-shop-page ul.products li.product img {
    width: 100%;
    height: 175px;
    object-fit: contain;
}

.fs-shop-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    font-weight: 500 !important;
    min-height: 38px;
    margin: 8px 0 !important;
}

.fs-shop-page ul.products li.product .price {
    font-size: 18px;
    font-weight: 700;
    color: #dd3333;
    margin: 0 0 10px;
}

.fs-shop-page ul.products li.product .button,
.fs-shop-page ul.products li.product .add_to_cart_button {
    background: #dd3333;
    color: #fff;
    border: 0;
    border-radius: 3px;
    font-size: 12px;
    padding: 10px 12px;
}

@media (max-width: 991px) {
    .fs-shop-page .handheld-sidebar-toggle { display: block; }
    .fs-shop-page .woocommerce-ordering { margin-left: 0; }
    .fs-shop-page .shop-view-switcher { margin-left: auto; }
    .fs-shop-page .shop-control-bar { flex-wrap: wrap; }

    body.left-sidebar .site-content-inner.row {
        display: block !important;
    }

    body.left-sidebar #sidebar.sidebar {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        z-index: 1080;
        width: min(300px, 86vw);
        flex: none;
        padding: 18px 14px;
        overflow-y: auto;
        transform: translateX(-110%);
        transition: transform .25s ease;
        box-shadow: 12px 0 28px rgba(0,0,0,.2);
    }

    body.fs-sidebar-open #sidebar.sidebar {
        transform: translateX(0);
    }

    .fs-sidebar-mobile-overlay {
        display: block !important;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.45);
        z-index: 1070;
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s;
    }

    body.fs-sidebar-open .fs-sidebar-mobile-overlay {
        opacity: 1;
        visibility: visible;
    }

    .fs-shop-page ul.products {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }
}

@media (max-width: 767px) {
    .fs-shop-page ul.products {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}
   /* BRANDS CAROUSEL (shop pages) */
.fs-brands-carousel {
    background: #fff;
    border-top: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
    margin-top: 24px;
    padding: 14px 0 18px;
}

.fs-brands-carousel .fs-section-header {
    margin-bottom: 10px;
}

.fs-brands-carousel .fs-section-title {
    margin: 0;
    font-size: 18px;
    line-height: 1.2;
    color: #1a1a2e;
}

.fs-carousel-wrapper {
    overflow: hidden;
    width: 100%;
}

.fs-carousel-track {
    display: flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    animation: fsBrandScroll 28s linear infinite;
}

.fs-carousel-item {
    flex: 0 0 auto;
    min-width: 130px;
    text-align: center;
    border: 1px solid #ebebeb;
    border-radius: 6px;
    background: #fff;
    padding: 10px 12px;
}

.fs-carousel-item span {
    display: block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .2px;
    color: #393939;
    white-space: nowrap;
}

.fs-brands-carousel:hover .fs-carousel-track {
    animation-play-state: paused;
}

@keyframes fsBrandScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 768px) {
    .fs-carousel-item { min-width: 110px; padding: 8px 10px; }
    .fs-carousel-item span { font-size: 13px; }
}


/* FireSpray product-page breadcrumb bar */
.fs-firespray-page { padding-top: 0; }
.fs-firespray-top { display: none !important; }

.eph-breadcrumb-bar {
    background: #fff;
    border-bottom: 1px solid #ebebeb;
    padding: 10px 0;
}
.eph-breadcrumb-bar .woocommerce-breadcrumb {
    margin: 0;
    font-size: 13px;
}

/* Product card outer */
.fs-firespray-content { padding-bottom: 40px; }
.fs-firespray-product-card {
    background: #fff;
    border: 1px solid #d9edf7;
    border-radius: 14px;
    padding: 28px 22px;
    margin: 22px 0;
}

/* WooCommerce product detail layout inside the card */
.fs-firespray-page .woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    align-items: flex-start;
}
.fs-firespray-page .woocommerce div.product .woocommerce-product-gallery {
    width: 100%;
    max-width: 480px;
    flex-shrink: 0;
}
.fs-firespray-page .woocommerce div.product .summary.entry-summary {
    flex: 1;
    min-width: 280px;
}

/* Gallery */
.fs-firespray-page .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    max-height: 480px;
    object-fit: contain;
    background: #f7f7f7;
    border: 1px solid #ebebeb;
    border-radius: 6px;
}
.fs-firespray-page .flex-control-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding: 0;
    list-style: none;
}
.fs-firespray-page .flex-control-thumbs li { width: 72px; cursor: pointer; }
.fs-firespray-page .flex-control-thumbs li img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border: 2px solid #ebebeb;
    border-radius: 4px;
    background: #f7f7f7;
    transition: border-color .2s;
}
.fs-firespray-page .flex-control-thumbs li img.flex-active,
.fs-firespray-page .flex-control-thumbs li img:hover { border-color: #1e57ff; }

/* Product summary */
.fs-firespray-page .summary.entry-summary h1.product_title {
    font-size: 22px;
    font-weight: 700;
    color: #13203c;
    margin: 0 0 10px;
    line-height: 1.3;
}
.fs-firespray-page .summary.entry-summary .price,
.fs-firespray-page .summary.entry-summary span.price {
    font-size: 26px;
    font-weight: 700;
    color: #dd3333;
    margin-bottom: 16px;
    display: block;
}
.fs-firespray-page .summary.entry-summary .price del {
    font-size: 18px;
    color: #999;
    font-weight: 400;
    margin-right: 8px;
}
.fs-firespray-page .summary .woocommerce-product-details__short-description {
    font-size: 14px;
    color: #595a5a;
    margin-bottom: 16px;
    line-height: 1.6;
}
.fs-firespray-page .summary .stock { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.fs-firespray-page .summary .stock.in-stock { color: #22ad5c; }
.fs-firespray-page .summary .stock.out-of-stock { color: #dd3333; }
.fs-firespray-page .woocommerce form.cart { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.fs-firespray-page .woocommerce form.cart .quantity { display: flex; align-items: center; }
.fs-firespray-page .woocommerce form.cart .quantity input.qty {
    width: 56px;
    height: 44px;
    text-align: center;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 0 8px;
}
.fs-firespray-page .woocommerce form.cart .single_add_to_cart_button.button {
    padding: 12px 28px;
    background: #1e57ff !important;
    color: #fff !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: background .2s;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.fs-firespray-page .woocommerce form.cart .single_add_to_cart_button.button:hover { background: #1344cc !important; }

/* Tabs */
.fs-firespray-page .woocommerce-tabs { margin-top: 30px; clear: both; }
.fs-firespray-page .woocommerce-tabs .tabs {
    display: flex;
    gap: 0;
    padding: 0;
    margin: 0 0 -1px;
    list-style: none;
    border-bottom: 2px solid #1e57ff;
}
.fs-firespray-page .woocommerce-tabs .tabs li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    color: #595a5a;
    text-decoration: none;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    transition: all .2s;
}
.fs-firespray-page .woocommerce-tabs .tabs li.active a,
.fs-firespray-page .woocommerce-tabs .tabs li a:hover {
    background: #1e57ff;
    color: #fff;
    border-color: #1e57ff;
}
.fs-firespray-page .woocommerce-tabs .woocommerce-Tabs-panel {
    border: 1px solid #d9edf7;
    border-radius: 0 10px 10px 10px;
    background: #fff;
    padding: 24px;
    font-size: 14px;
    line-height: 1.7;
    color: #444;
}

/* Related/upsells */
.fs-firespray-page .related.products,
.fs-firespray-page .up-sells.products {
    border-top: 1px solid #e5ecf7;
    margin-top: 24px;
    padding-top: 24px;
}
.fs-firespray-page .related.products > h2,
.fs-firespray-page .up-sells.products > h2 {
    text-transform: none;
    font-size: 22px;
    letter-spacing: 0;
}

/* Store highlights footer strip */
.fs-firespray-bottom {
    margin: 14px 22px 10px;
    border: 1px solid #d9edf7;
    border-radius: 12px;
    background: linear-gradient(135deg, #13203c 0%, #1c315f 100%);
    padding: 18px;
}
.fs-firespray-bottom__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.fs-firespray-feature {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    padding: 14px;
}
.fs-firespray-feature h3 {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 6px;
}
.fs-firespray-feature p {
    font-size: 12px;
    color: rgba(255,255,255,.7);
    margin: 0;
    line-height: 1.5;
}

/* Responsive single product */
@media (max-width: 768px) {
    .fs-firespray-page .woocommerce div.product { flex-direction: column; }
    .fs-firespray-page .woocommerce div.product .woocommerce-product-gallery { max-width: 100%; }
    .fs-firespray-bottom__items { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .fs-firespray-product-card,
    .fs-firespray-bottom { margin-left: 12px; margin-right: 12px; padding-left: 12px; padding-right: 12px; }
}


